/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controleur;

import com.opensymphony.xwork2.ActionSupport;
import modele.Entreprise;
import modele.Inscrit;
import modele.NewHibernateUtil;
import modele.Personne;
import org.hibernate.Session;

/**
 *
 * @author Aimee
 */
public class InscriptionEntreprise extends ActionSupport {

    //Variable Entreprise
    private String nomEntreprise;
    private String adresseEntreprise;
    private String telEntreprise;
    private String emailEntreprise;
    private String urlEntreprise;
    private String descriptionEntreprise;
    private String mdpEntreprise;
    //Variable session
    private Session hibernateSession;
    public String idPersonne;
    public Personne pers;

    public String executeEntreprise() throws Exception {
        hibernateSession = NewHibernateUtil.getSessionFactory().openSession();
        hibernateSession.beginTransaction();


        /* if (getNomEntreprise() != null && (!nomEntreprise.equals(""))
         && getAdresseEntreprise() != null && (!adresseEntreprise.equals(""))
         && getEmailEntreprise() != null && (!emailEntreprise.equals(""))
         && getUrlEntreprise() != null && (!urlEntreprise.equals(""))
         && getDescriptionEntreprise() != null && (!descriptionEntreprise.equals(""))
         && getMdpEntreprise() != null && (!mdpEntreprise.equals(""))
         && getTelEntreprise() != null && (!telEntreprise.equals(""))) {*/
        Inscrit inscrit = new Inscrit();
        inscrit.setCourrielInscrit(getEmailEntreprise());
        inscrit.setMdpInscrit(getMdpEntreprise());
        if (getIdPersonne() != null && ! idPersonne.trim().equals("")) {
            System.out.println("je suis la");
            setPers((Personne) hibernateSession.createQuery("from Personne where idPersonne =" + getIdPersonne()).uniqueResult());
            if (getPers().getEstAdmin()) {
                inscrit.setStatut("actif");
            } 
        } else {
            inscrit.setStatut("inactif");
        }

        hibernateSession.save(inscrit);
        Entreprise entreprise = new Entreprise();
        entreprise.setDescriptionEntreprise(getDescriptionEntreprise());
        entreprise.setNomEntreprise(getNomEntreprise());
        entreprise.setUrlEntreprise(getUrlEntreprise());
        entreprise.setTelEntreprise(getTelEntreprise());
        entreprise.setAddEntreprise(getAdresseEntreprise());
        entreprise.setIdEntreprise(inscrit.getIdInscrit());
        hibernateSession.save(entreprise);
        hibernateSession.getTransaction().commit();

        /* } else {
         addActionError("Vous n'avez pas rempli tous les champs");
         return "erreur";
         }*/

        if (pers != null) {
            return "admin";
        } else {
            return "inscription";
        }
    }

    /**
     * @return the nomEntreprise
     */
    public String getNomEntreprise() {
        return nomEntreprise;
    }

    /**
     * @param nomEntreprise the nomEntreprise to set
     */
    public void setNomEntreprise(String nomEntreprise) {
        this.nomEntreprise = nomEntreprise;
    }

    /**
     * @return the adresseEntreprise
     */
    public String getAdresseEntreprise() {
        return adresseEntreprise;
    }

    /**
     * @param adresseEntreprise the adresseEntreprise to set
     */
    public void setAdresseEntreprise(String adresseEntreprise) {
        this.adresseEntreprise = adresseEntreprise;
    }

    /**
     * @return the telEntreprise
     */
    public String getTelEntreprise() {
        return telEntreprise;
    }

    /**
     * @param telEntreprise the telEntreprise to set
     */
    public void setTelEntreprise(String telEntreprise) {
        this.telEntreprise = telEntreprise;
    }

    /**
     * @return the emailEntreprise
     */
    public String getEmailEntreprise() {
        return emailEntreprise;
    }

    /**
     * @param emailEntreprise the emailEntreprise to set
     */
    public void setEmailEntreprise(String emailEntreprise) {
        this.emailEntreprise = emailEntreprise;
    }

    /**
     * @return the urlEntreprise
     */
    public String getUrlEntreprise() {
        return urlEntreprise;
    }

    /**
     * @param urlEntreprise the urlEntreprise to set
     */
    public void setUrlEntreprise(String urlEntreprise) {
        this.urlEntreprise = urlEntreprise;
    }

    /**
     * @return the descriptionEntreprise
     */
    public String getDescriptionEntreprise() {
        return descriptionEntreprise;
    }

    /**
     * @param descriptionEntreprise the descriptionEntreprise to set
     */
    public void setDescriptionEntreprise(String descriptionEntreprise) {
        this.descriptionEntreprise = descriptionEntreprise;
    }

    /**
     * @return the mdpEntreprise
     */
    public String getMdpEntreprise() {
        return mdpEntreprise;
    }

    /**
     * @param mdpEntreprise the mdpEntreprise to set
     */
    public void setMdpEntreprise(String mdpEntreprise) {
        this.mdpEntreprise = mdpEntreprise;
    }

    /**
     * @return the hibernateSession
     */
    public Session getHibernateSession() {
        return hibernateSession;
    }

    /**
     * @param hibernateSession the hibernateSession to set
     */
    public void setHibernateSession(Session hibernateSession) {
        this.hibernateSession = hibernateSession;
    }

    /**
     * @return the idPersonne
     */
    public String getIdPersonne() {
        return idPersonne;
    }

    /**
     * @param idPersonne the idPersonne to set
     */
    public void setIdPersonne(String idPersonne) {
        this.idPersonne = idPersonne;
    }

    /**
     * @return the pers
     */
    public Personne getPers() {
        return pers;
    }

    /**
     * @param pers the pers to set
     */
    public void setPers(Personne pers) {
        this.pers = pers;
    }
}
